Release 10.1A: OpenEdge Development:
ProDataSets
Deleting a dynamic ProDataSet passed as a parameter
Like any other object, a dynamic ProDataSet should be deleted when you are finished using it. Otherwise it continues to use memory and other resources, and since a ProDataSet can be quite large, this can be significant. When a ProDataSet is passed remotely, and therefore copied, the called procedure must be prepared to delete it if it is received as a dynamic ProDataSet. As we have discussed, however, the same procedure call could be used between two procedures in the same session, and you would not want to inadvertently delete a ProDataSet that is passed by reference in a local call and therefore actually “owned” by another procedure.
In order to simplify this, you can use this statement in the called procedure when it uses a
DATASET-HANDLE:
In this way, the ProDataSet is deleted when appropriate. The
NO-ERRORkeyword suppresses any error message if the object has already been deleted (in which casedataset-handleis no longer a valid handle). Also, this statement does not delete a ProDataSet object when the ProDataSet is passed locally and by reference, which means that the ProDataSet is not owned by the procedure attempting the delete.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |